package com.yunqiao.service.api.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 提现申请
 *
 * @author Crocutax
 * @email wangxw725@163.com
 * @date 2019-03-03 21:58:45
 */
@TableName("tb_apply_withdraw")
@Data
@ApiModel(value = "提现申请对象")
public class ApplyWithdrawEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId
    @ApiModelProperty("id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 1待处理2已处理
     */
    @ApiModelProperty(value = "1待处理2已处理")
    private Integer status;
    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long userId;
    /**
     * 1:用户司机提现 2：代理商提现
     */
    @ApiModelProperty(value = "1:用户司机提现 2：代理商提现")
    private Integer type;
    /**
     * 1支付宝 2 银行卡
     */
    @ApiModelProperty(value = "1支付宝 2 银行卡")
    private Integer state;
    /**
     * 支付宝账户
     */
    @ApiModelProperty(value = "支付宝账户")
    private String alipayAccount;
    /**
     * 支付宝姓名
     */
    @ApiModelProperty(value = "支付宝姓名")
    private String alipayName;
    /**
     * 提现金额
     */
    @ApiModelProperty(value = "提现金额")
    private BigDecimal amount;
    /**
     * 银行名字
     */
    @ApiModelProperty(value = "银行名字")
    private String bankName;
    /**
     * 银行卡号
     */
    @ApiModelProperty(value = "银行卡号")
    private String bankAccount;
    /**
     * 持有人姓名
     */
    @ApiModelProperty(value = "持有人姓名")
    private String bankUserName;
    /**
     * 开户行
     */
    @ApiModelProperty(value = "开户行")
    private String bankOpen;
    /**
     * 银行预留手机号
     */
    @ApiModelProperty(value = "银行预留手机号")
    private String bankPhone;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", hidden = true)
    private Date createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间", hidden = true)
    private Date updateTime;
    /**
     * 软删除
     */
    @TableLogic
    @JsonIgnore
    @ApiModelProperty(value = "软删除", hidden = true)
    private Integer deleted;

}
